With the rapid development of mobile computing devices (e.g., smartphones, tablet computers, e-readers, music players, etc.), software programs running on these platforms have become very popular. Different from desktop software programs that interface with users using the traditional keyboard and mouse, these mobile software programs typically include support for tactile user interfaces that are controlled by touch, multi-touch (e.g., tap, pinch, etc.), and other gesture events.
The testing of such mobile programs poses some real challenges. Native programs that are installed locally in the mobile device are easier to test, because a primal simulator is typically included in the software development kit (SDK). Web applications that load via a web browser, however, are more difficult to test automatically, without native support and common application programming interfaces (APIs) for multi-touch gestures. The tools that support testing multi-touch events in web applications are limited, and software testers often have to test such applications manually. Manual testing can be a very tedious, error-prone and costly process. The tests are typically very difficult to reproduce and maintain, and can be extremely time consuming.
Thus, a need exists for systems, methods, and apparatuses to address the shortfalls of current technology, and to provide other new and innovative features.